.                                                                                         
-.                                                                                        
--.                                                                                       
---:                                                                                      
==--.                                ....  ...::....                                      
----.                                 ....:::::------:...                                 
:::::.                          .    ...:::::--:::----=-::.                               
:::::.                          ......:-------=====---===--:.                             
:::::.                          .   .::--=====---==+======-==-..                          
.::::.                     .    ....::-=====+++++====++===--===::.                        
..:::.                    .     ..:----=+*++++=++***+++++++=-=+=-:                        
:::::.                  .    .::..:--===++*###*****#*+++++=+=--++=:                       
:::::.                       .:::::--=+++*++*#####*****++====---=*+:                      
----:.                       ..:.:--=++********####*****++++==-===+=:                     
-----.                      ....:---=+++*##*****#*##**#***+++=======-.                    
----:               .   ....::..:=====++***************#***+*+=====-=-.                   
----.              .. .:-:.::::::====+++*********************+++====---.   ...............
----.             ....:--::::::::-===++++*********************+++=++==-:..............::..
----.             . :--==-:::::..:--==+++++*****++++++++++****++++++=+=-:..    .......--..
----.            .. :-++=--:.....:-====+++++++++====----====+*++++++====:.............--..
----.            ...:=*+==:. ..:-==+++++++==+++===========---=++*++++===-............:--:.
----:            ...=**+=-. :=+**###***+++++++++++++*****+++=--+*+++++==-:...       .-==-:
----:.  ..     ....:+**=-:.-+***######****+++++++**####**+++==-=*+++*++=-=-:.      .-=+++=
----:...::......:::-**+=:.:+**##%%%#####***++++++*###%%##**+==--+*++*++==+=-:::::::-==+===
----:::::::::...:---**+-..:+*********###**++====+*##***+++++==--=*+=+++=--------==========
----:::::::::...:=+=*+=-...:-=+++*********+======+++++++===-----=*+==+++=-=============-==
----:::::.:::...:=**=+=:. .::::-=++++++**+===--===+======-------=*+++++==-==========-=---=
----:::::::-:...::+*===-  ..  .:--===++++====---===+====--------=*++++=---===--==--==---==
----:::::::-:. .::-+*+==. ...:-=====+++=--------====+===--------++========+=============++
----:::::::-:. .:::=+-++: ..:-====++**=---====----=++++==------=+=====++=+++==+++=+++==+++
----::::::::::.:::.:-:==- ...-=+++++**+++++++=======++++==------=--=+++++++++++++++==-==++
-----:::::::::::::::.:-==. ..-=++++*****##***++++===++*+===----====++==++==+++==+++=======
--------::::::::::::..:::....-++++************++====++++===---=*+==++==++==++===++===+===+
-----:--::::::::::::::::....:-+++***********++++====+*++=-----**--==============+====++===
----------::::--::::::--::..:-=+++*#%#******++++++*#***===----*+-==++==++==+++==++==+**===
----------:.::-:::::::---...:==+++++*****++++++++====+=====--======++==++===+===++==+*+===
----------:.::-:::::::---::.:-=+++++++++++++++===---===-==---+===-==============++==+*+=--
--------==-:::::::::::---:-:.--==+++++++++++++====-===--==--=+=+===++==++==+++=+**+=++==--
----==--==-::::::::::::----:::-==-=+++++++++++======----==--=+++===++==++==+*+==**===----=
-==-======-:::-::::::-----===.:--:-====+++=======-------==--=+++===+===++==+*+==**=---====
===--++=-=:::--:::---===-===+:.:--:--===========------===---=++++=+++==++==+*+=+**=--==+++
=====++=-----::::---======+++-.::----==============-====------=+===++==++===*+==**======+*
---===++====--::--=======+*=--.:---===++++++++++=========----+*#**#%#**++=======++======+*
------=--:--::---========+-:=+..----=++********+++=========--=*++#%###******++===+=======+
------==----:-----===-::--:-=#:.:----=++****++++===============+%%########***++=-=+===++++
-----===-=====-:-===-.::--:-=*:.::-::-=+++++++================*############*****+=====++++
---:::::::--:::::::::::-----=*:..:::.:-++++++===============+*###############****=::::::::
::::::::::::::::---.::----===+=..::-::-=+++++============++*#####%###########*#***=:..... 
---:::::-------==+-.:--====++=+-.:-=+===++++==========++*##%%%%#%%%#############%%##-.....
===---------=====+-:---==+++++++=:-++++++++===+++++++**#%%%#%%%##################***+-::::
---::::::-----------==+===+++****+=+*******++++++++*##%%%%%%%#%##%%%%%%%%%%%%###****++=--:
...............::-=-::=*#****#*+##**********++++*###%%%%%%%%#%%%%%%%%%%%%%%%#####******+++
.         ...::----:::-+*#%%%%%#++=###**********##%%%%%%%%%%%%%%%%%%%%%%#################*
      .:::::--------::-=+==*%%%%*+*#%#####**#####%%%%%%%%%%%%%%%%%%%######################
   .::---======-----:--=++=-=*#%%*%#%%%##%%%#%*+#%%%%%@@%%%%%%%%%#########################
..::-=++=+++++=-===----=++=-==+***%#%%%%%%%##%==#@@%%%%%%%%%%%###%%%######################
:---+++++++**+==========++===+++=+#####*%%%#%#+*#%%%%%%%%%%%%%%%%%####%%##################
---=**++++****++==+++==++*++++++++##++**%%%%%#**#%%%%%%%%%%%%%%%%##%##%##%###########%####
=-=+##++******++==+++==++**++++***##****%%%%%%#*#%%%%%%%%%%%%%%%%%#%#%%%%#############%%##
*=+*###*##****++=+**++==++*+=++***####*#%%#%%%%#%%%%%%%%%%%%%%%%%%####################%%%#
#++*#######*#*++=++*++==++*+=++***#####%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%#%%%%########%%%%##
%#+###%######**+==++++====++=+****###*#%%%%%%%%#%%%%%%%%%%%%%%%%%%%%%%%%%%%%######%#%%%%%%
%#+###%%#####**+==++++=====++**##*##**#%%#%%%%%#%%%%%%%%%%%#%%%%%%%%#%%%%#%#%#######%%%%%#